console.log(getLastDayOfMonth(2012, 1)) // 29

function getLastDayOfMonth(year, month) {
	// 代码解析:
	// 1. 创建日期对象，传入年（日期组件），月（日期组件）；
	// 2. 月 + 1 变成3月（因为月是从0开始的，0表示1月，...）；
	// 3. 然后日传入0（日只有1~31号），所以会触发日期对象的“自动校准”特性，我们这里传入的0，会自动计算（天减1）变成3月的前一天（也就是具体时间是到2月的最后一天）；
	// 4. 然后在获取具体时间对象的天（多少号），就能得到该月的最后一天。
	return new Date(year, month + 1, 0).getDate()
}

// 日期从 1 开始，但从技术上讲，我们可以传递任何数字，日期会自动进行调整。因此，当我们传递 0 时，它的意思是“一个月的第一天的前一天”，换句话说：“上个月的最后一天”。
